package com.dragon.common.enums;

import lombok.Getter;

import java.util.Arrays;
import java.util.Objects;

/**
 * 登陆设备枚举
 *
 * @author dragon
 * @version 1.0
 * @date 2024/10/18 15:54
 */
@Getter
public enum LoginDevice {

    /**
     * WEB浏览器
     */
    WEB("Web", "Web浏览器"),

    /**
     * PC电脑
     */
    PC("PC", "PC电脑"),

    /**
     * 安卓手机
     */
    ANDROID("Android", "安卓手机"),

    /**
     * 苹果手机
     */
    IPHONE("iPhone", "苹果手机"),

    /**
     * 苹果平板电脑
     */
    IPAD("iPad", "苹果平板电脑"),

    /**
     * 苹果个人电脑
     */
    MAC("Mac", "苹果个人电脑"),
    ;

    /**
     * 设备名称
     */
    private final String name;

    /**
     * 设备描述
     */
    private final String des;

    LoginDevice(String name, String des) {
        this.name = name;
        this.des = des;
    }

    public static LoginDevice getByName(String name) {
        return Arrays.stream(values()).filter(item -> item.name.equals(name)).findFirst().orElse(null);
    }

    public static String getDesByName(String name) {
        if (Objects.isNull(name)) {
            return null;
        }

        LoginDevice loginDevice = getByName(name);
        return Objects.isNull(loginDevice) ? null : loginDevice.getDes();
    }

}
